perm filename STAFF.F4[P11,LCS] blob
sn#583807 filedate 1981-05-02 generic text, type T, neo UTF8
SUBROUTINE STAFF
COMMON R2,JA,CENTR,J2,R3,R4,R5,R6,R7,R8,RJQ(10),X,RX,RJ,RZ
1,JQ(16),J,JX2,K,L
COMMON/STF/RSTFAC(0/7)/POSI/STFF(0/7),JJ2,POS/PLTR/PLT
EQUIVALENCE (J4,JQ(2)),(J7,JQ(5))
C FOR STAFF LINES: 8, POS 1, HGT(0 TO 7), UP-DOWN(NT #S),
C P5=SIZE, P6=2ND POS., P7=(1=INVIS.), P8=SPACER, P9=INST. NAME
C P6=SIZE FACTOR, IF P7↑[0 STAFF IS INVIS. P4=1000=ONE LINE, 2000=2 LINES.
C PLT =-2 MAKES HEAVY STAFF.(FOR XGP) **** not now used 4/81 ***
IF(R5.NE.0)GO TO 10
R5=RSTFAC(J2)
C GET OLD STAFF SIZE IF R5 IS 0
GO TO 11
10 RSTFAC(J2)=R5
C SETS NEW STAFF SIZE
11 X=R4
L=5
IF(IABS(J4).LT.1000)GO TO 12
X=AMOD(R4,1000.)
L=IABS(J4/1000)
C 1000'S FOR N LINE STF. P4=0=STANDARD 5-LINE STAFF. 6000=6 LINES, ETC.
12 J=J2*123-469
RX=J+X*7.*R5
C NOW STAFF NUMS RUN FROM 0 TO 7
STFF(J2)=RX
C SAVE ABSOLUTE POSITION OF STAFF.
RX=RX+3.*R5
IF(R6.EQ.0)GO TO 7
RJ=RHORZ(R6)
GO TO 8
7 RJ=596.
8 R5=R5*14.
C R5 NOW HAS SPACE BETWEEN LINES IN PIXELS.
IF(R8.EQ.0)GO TO 68
IF(PLT.LT.0)GO TO 68
RZ=RX+R8*167.
C 167 IS A MAGIC NUMBER!! PUTS LINE ON DPY. R8 IS IN INCHES
CALL LINX(R3,RZ,RJ,RZ)
C SHOWS WHERE NEXT STAFF 0 WILL BE.
68 IF(J7.EQ.0)GO TO 101
C FOR INVISIBLE STAFF
IF(PLT.EQ.0)CALL LINES(-596.,RX,3)
C TO ACTIVATE DPY BUFFER
RETURN
101 DO 6 K=1,L
CALL LINX(R3,RX,RJ,RX)
6 RX=RX+R5
C R5 HAS SPACE (IN PIXELS) BETWEEN EACH LINE.
C SEE .FAI PROG. FOR METHOD WHEN OUTPUTTING TO A PEN PLOTTER.
END